﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NovaSystem.ComponentesNegocio;
using NovaSystem.EntidadesNegocio;

namespace NovaSystem.InterfazUsuarioWeb.Logistica
{
    public partial class wfBProducto : System.Web.UI.Page
    {
        private const int COL_IDPRODUCTO = 0;
        private const int COL_CODIGO = 1;
        private const int COL_DESCRIPCION = 2;
        private const int COL_CATEGORIA = 3;
        private const int COL_FAMILIA = 4;

        private const string CONCEPTO_CATEGORIA = "CATEGORIA";
        private const string CONCEPTO_FAMILIA = "FAMILIA";

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                LlenarCombos();
                InicializarPagina();
            }
        }

        private void InicializarPagina()
        {
            btnCancelar.Attributes.Add("onclick", "window.close();return false;");
        }

        private void LlenarCombos()
        {
            ddlCategoria.DataSource = Negociomantenedor.Instancia.Listar(CONCEPTO_CATEGORIA);
            ddlCategoria.DataBind();
            ddlCategoria.Items.Add(new ListItem("<Todos>",""));
            ddlCategoria.SelectedValue = "";

            ddlFamilia.DataSource = Negociomantenedor.Instancia.Listar(CONCEPTO_FAMILIA);
            ddlFamilia.DataBind();
            ddlFamilia.Items.Add(new ListItem("<Todos>", ""));
            ddlFamilia.SelectedValue = "";

            ddlCategoriaNew.DataSource = Negociomantenedor.Instancia.Listar(CONCEPTO_CATEGORIA);
            ddlCategoriaNew.DataBind();
            ddlCategoriaNew.Items.Add(new ListItem("<Ninguno>", ""));
            ddlCategoriaNew.SelectedValue = "";

            ddlFamiliaNew.DataSource = Negociomantenedor.Instancia.Listar(CONCEPTO_FAMILIA);
            ddlFamiliaNew.DataBind();
            ddlFamiliaNew.Items.Add(new ListItem("<Ninguno>", ""));
            ddlFamiliaNew.SelectedValue = "";
        }

        protected void gvDetalle_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes.Add("onmouseover", "Resaltar_On(this);");
                e.Row.Attributes.Add("onmouseout", "Resaltar_Off(this);");
                e.Row.Attributes["style"] += "cursor:pointer;cursor:hand;";
                //e.Row.Attributes.Add("onclick", "document.getElementById('" + hfRut.ClientID + "').value='" + e.Row.Cells[COL_RUT].Text + "';document.getElementById('" + hfNombre.ClientID + "').value='" + e.Row.Cells[COL_NOMBRE].Text + "'; var o = new Object();o.value = '" + hfRut.Value + "';o.text='" + hfNombre.Value + "';window.returnValue=o;window.close();");
                e.Row.Attributes.Add("onclick", "var o = new Object(); o.value='" + e.Row.Cells[COL_CODIGO].Text + "';o.text= '" + e.Row.Cells[COL_DESCRIPCION].Text + "';o.aux='" + e.Row.Cells[COL_IDPRODUCTO].Text + "';window.returnValue = o;window.close();");
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                producto _producto = new producto();
                _producto.codigo = txtCodigo.Text;
                _producto.descripcion = txtDescripcion.Text;
                _producto.codigoCategoria = ddlCategoria.SelectedValue;
                _producto.codigoFamilia = ddlFamilia.SelectedValue;

                gvDetalle.DataSource = Negocioproducto.Instancia.BuscarProducto(_producto);
                gvDetalle.DataBind();
            }
            catch (Exception ex)
            {

            }
        }

        protected void btnGrabarNew_Click(object sender, EventArgs e)
        {
            try
            {
                string _usuario = Context.User.Identity.Name;
                producto _producto = new producto();
                _producto.codigo = txtCodigoNew.Text;
                _producto.conceptoCategoria = CONCEPTO_CATEGORIA;
                _producto.conceptoFamilia = CONCEPTO_FAMILIA;
                _producto.codigoFamilia = ddlFamiliaNew.SelectedValue;
                _producto.codigoCategoria = ddlCategoriaNew.SelectedValue;
                _producto.descripcion = txtDescripcionNew.Text;
                _producto.usuario = _usuario;

                Negocioproducto.Instancia.Insertar(_producto);
            }
            catch (Exception ex)
            {
                
            }
        }
    }
}
